package kotlindemo.com.kotlindemo

/**
 * Created by ChenLinWang
on 2018/10/26 0026.
 */
class KotlinTest {
    fun test() {
        var result = helloKotlin1()
        val length = getContentLength(null)//会提前判空
    }


    fun helloKotlin() {
        println("hello world")
    }

    internal fun helloKotlin1(): String {
        return "hello world"
    }

    companion object {//伴生类
        //类似于静态方法,里面的方法可以被直接调用
        fun staticTest() {

        }
    }

    //-----------------------空指针判断-------------------------------
    fun getContentLength(content: String?): Int {//问号代表可为空
        return if (content == null) {
            0
        } else {
            content.length
        }
        //-----------------------空指针判断-------------------------------
        fun printUpperCase(content: String?) {
            println(content?.toUpperCase())
        }

        //-----------------------空指针判断-------------------------------
        fun getContentLength(content: String?): Int {//问号代表可为空
            return content?.length ?: 0
        }

        //-----------------------空指针判断-------------------------------
        fun add(x: Int, y: Int): Int {
            return x + y
        }

        fun add1(x: Int,y:Int):Int = x+y
        //-------------------------------------------------
        val i:Int=7
        val d:Double=i.toDouble()
        //-------------------------------------
        val c:Char='c'
        val f:Int=c.toInt()
        //-----------------一个String可以像数组那样访问，并且被迭代---------
        val string="example"
        val cc=string[2]
        for (c in string){
            print(c)
        }
        //------------------------尽可能地使用val------------

    }

}